<?php

if (file_exists("../../util/conexao.php")) {
    require_once("../../util/conexao.php");
} else {
    require_once("../../../util/conexao.php");
}

class RelatorioDao {

    public function dadosVeiculo($arrayDados) {

        $conexao = Conexao::conectar();
        $dados = array();

        $query = "select v.id as id,p.nome as nomeFornecedor,v.placa as placa,v.valorCompra as valorCompra,m.nome as modelo,c.nome as cor,mc.nome as marca,
				  v.valorAgenciamento as valorAgenciamento, v.valorCorretagem as valorCorretagem, v.dataCompra as dataCompra			      
		          from tbveiculo v 
				  INNER JOIN tbmodelo m ON (m.id = v.modelo) 
				  INNER JOIN tbcor c ON (c.id = v.cor) 
				  INNER JOIN tbmarca mc ON (mc.id = v.marca) 
                                  INNER JOIN tbpessoas p ON(p.id = v.idFornecedor)
				  where v.placa='" . $arrayDados["placa"] . "' and v.deletado='N'";

        $res = mysql_query($query, $conexao);
        $num = mysql_num_rows($res);

        if ($num > 0) {

            $i = 0;
            while ($row = mysql_fetch_object($res)) {

                $dados[$i]['id'] = $row->id;
                $dados[$i]['nomeFornecedor'] = $row->nomeFornecedor;
                $dados[$i]['dataCompra'] = $row->dataCompra;
                $dados[$i]['placa'] = $row->placa;
                $dados[$i]['modelo'] = $row->modelo;
                $dados[$i]['marca'] = $row->marca;
                $dados[$i]['cor'] = $row->cor;
                $dados[$i]['valorCompra'] = $row->valorCompra;
                $dados[$i]['valorAgenciamento'] = $row->valorAgenciamento;
                $dados[$i]['valorCorretagem'] = $row->valorCorretagem;
                $i++;
            }
        }

        Conexao::desconectar();
        return $dados;
    }

    public function despesaOficina($idVeiculo) {

        $conexao = Conexao::conectar();
        $dados = array();

        $query = "select descricao,valor,data from tbdespesaoficina where idVeiculo=" . $idVeiculo . " and deletado='N'";

        $res = mysql_query($query, $conexao);
        $num = mysql_num_rows($res);

        if ($num > 0) {
            $i = 0;
            while ($row = mysql_fetch_object($res)) {
                $dados[$i]['descricao'] = $row->descricao;
                $dados[$i]['valor'] = $row->valor;
                $dados[$i]['data'] = $row->data;
                $i++;
            }
        }

        Conexao::desconectar();
        return $dados;
    }

    public function valorVenda($idVeiculo) {
        $conexao = Conexao::conectar();
        $dados = array();

        $query = "select m.valorTotal,m.dataCadastro ,p.nome
                  from tbmovimentacao m
                  inner join tbpessoas p on (p.id = m.idCliente)
                  where m.idVeiculo=" . $idVeiculo . " and m.natureza='9' and m.deletado='N' limit 1";

        $res = mysql_query($query, $conexao);
        $num = mysql_num_rows($res);

        if ($num > 0) {
            $row = mysql_fetch_object($res);

            $dados[0]['valor'] = $row->valorTotal;
            $dados[0]['data'] = $row->dataCadastro;
            $dados[0]['cliente'] = $row->nome;
        }

        Conexao::desconectar();
        return $dados;
    }

    public function diasEstoque($arrayDados) {

        $conexao = Conexao::conectar();
        $dados = array();

        if (count($arrayDados) > 0) {
            $condicaoPlaca = "and v.placa='" . $arrayDados["placa"] . "'";
        } else {
            $condicaoPlaca = "";
        }

        $query = "select v.id as id,v.placa as placa,v.valorCompra as valorCompra,m.nome as modelo,m.nome as cor,mc.nome as marca,
				  v.dataCadastro as dataCadastro			      
		          from tbveiculo v 
				  INNER JOIN tbmodelo m ON (m.id = v.modelo) 
				  INNER JOIN tbcor c ON (c.id = v.cor) 
				  INNER JOIN tbmarca mc ON (mc.id = v.marca) 
				  where v.deletado='N' " . $condicaoPlaca . " ";

        $res = mysql_query($query, $conexao);

        $i = 0;
        while ($row = mysql_fetch_object($res)) {

            $dados[$i]['id'] = $row->id;
            $dados[$i]['placa'] = $row->placa;
            $dados[$i]['modelo'] = $row->modelo;
            $dados[$i]['marca'] = $row->marca;
            $dados[$i]['cor'] = $row->cor;
            $dados[$i]['valorCompra'] = $row->valorCompra;
            $dados[$i]['dataCadastro'] = $row->dataCadastro;
            $i++;
        }

        Conexao::desconectar();
        return $dados;
    }

    public function retornaContasPagar($limite, $arrayDados = "") {

        $conexao = Conexao::conectar();
        $contas = array();
        $somaCondicao = 0;

        if (!empty($arrayDados["fornecedor"])) {
            $condicaoFornecedor = "and m.idFornecedor=" . $arrayDados["fornecedor"];
        } else {
            $condicaoFornecedor = "";
        }

        if (!empty($arrayDados["de"]) && !empty($arrayDados["ate"])) {

            if ($arrayDados["tipodata"] == "dv") {
                $condicaoData = "and t.dataVencimento between '" . Util::dataBd($arrayDados["de"]) . "' and '" . Util::dataBd($arrayDados["ate"]) . "'";
            } else {
                $condicaoData = "and t.dataUltimoPagamento between '" . Util::dataBd($arrayDados["de"]) . "' and '" . Util::dataBd($arrayDados["ate"]) . "'";
            }

            $somaCondicao++;
        } else {
            $condicaoData = "";
        }

        if ((!empty($arrayDados["status"])) && ($arrayDados["status"] != "TODOS")) {

            if ($arrayDados["status"] == "EMABERTO") {
                $condicaoStatus = "and t.quitado='N'";
            } elseif ($arrayDados["status"] == "QUITADO") {
                $condicaoStatus = "and t.quitado='S'";
            } elseif ($arrayDados["status"] == "ATRASADO") {
                $condicaoStatus = "and t.dataVencimento < '" . date("Y-m-d") . "' and t.quitado='N'";
            }

            $somaCondicao++;
        } else {
            $condicaoStatus = "";
        }

        if (!empty($arrayDados["natureza"]) && ($arrayDados["natureza"] != "TODOS")) {
            $condicaoNatureza = "and m.natureza=" . $arrayDados["natureza"];
            $somaCondicao++;
        } else {
            $condicaoNatureza = "";
        }

        if ($limite > 0) {
            $limit = "limit {$limite}";
        } else {
            if ($somaCondicao > 0) {
                $limit = "";
            } else {
                $limit = "limit 5000";
            }
        }

        $query = "select t.id as idT,t.dataVencimento as dataV,t.valor as valor,t.parcela as parcela,
		            v.placa as placa,n.nome as natureza,t.valorPago as parcial,t.quitado as quitado,
					t.desconto as desconto,t.acrescimo as acrescimo,
					t.dataUltimoPagamento as dataUltimoPagamento 
					from tbtitulos t
					INNER JOIN tbmovimentacao m ON(m.id = t.idMovimento)
					LEFT JOIN tbveiculo v ON(v.id = t.idVeiculo)
					INNER JOIN tbnatureza n ON(m.natureza = n.id)
		            where m.tipo='PAGAMENTO' and m.deletado='N' " . $condicaoData . " " . $condicaoStatus . " " . $condicaoNatureza . " " . $condicaoFornecedor . " " . $limit;

        $res = mysql_query($query, $conexao);

        $i = 0;
        while ($row = mysql_fetch_object($res)) {
            $contas[$i]['id'] = $row->idT;
            $contas[$i]['vencimento'] = $row->dataV;
            $contas[$i]['parcial'] = $row->parcial;
            $contas[$i]['desconto'] = $row->desconto;
            $contas[$i]['acrescimo'] = $row->acrescimo;
            $contas[$i]['valor'] = $row->valor;
            $contas[$i]['parcela'] = $row->parcela;
            $contas[$i]['placa'] = $row->placa;
            $contas[$i]['natureza'] = $row->natureza;
            $contas[$i]['quitado'] = $row->quitado;
            $contas[$i]['dataUltimoPagamento'] = $row->dataUltimoPagamento;
            $i++;
        }

        Conexao::desconectar();
        return $contas;
    }

    public function retornaContasReceber($limite, $arrayDados = "") {

        $conexao = Conexao::conectar();
        $contas = array();

        $somaCondicao = 0;

        if (!empty($arrayDados["cliente"])) {
            $condicaoCliente = "and m.idCliente=" . $arrayDados["cliente"];
        } else {
            $condicaoCliente = "";
        }

        if (!empty($arrayDados["de"]) && !empty($arrayDados["ate"])) {

            if ($arrayDados["tipodata"] == "dv") {
                $condicaoData = "and t.dataVencimento between '" . Util::dataBd($arrayDados["de"]) . "' and '" . Util::dataBd($arrayDados["ate"]) . "'";
            } else {
                $condicaoData = "and t.dataUltimoPagamento between '" . Util::dataBd($arrayDados["de"]) . "' and '" . Util::dataBd($arrayDados["ate"]) . "'";
            }

            $somaCondicao++;
        } else {
            $condicaoData = "";
        }

        if ((!empty($arrayDados["status"])) && ($arrayDados["status"] != "TODOS")) {

            if ($arrayDados["status"] == "EMABERTO") {
                $condicaoStatus = "and t.quitado='N'";
            } elseif ($arrayDados["status"] == "QUITADO") {
                $condicaoStatus = "and t.quitado='S'";
            } elseif ($arrayDados["status"] == "ATRASADO") {
                $condicaoStatus = "and t.dataVencimento < '" . date("Y-m-d") . "' and t.quitado='N'";
            }

            $somaCondicao++;
        } else {
            $condicaoStatus = "";
        }

        if ($limite > 0) {
            $limit = "limit {$limite}";
        } else {
            if ($somaCondicao > 0) {
                $limit = "";
            } else {
                $limit = "limit 5000";
            }
        }

        $query = "select t.id as idT,t.dataVencimento as dataV,t.valor as valor,t.parcela as parcela,
		            v.placa as placa,n.nome as natureza,t.valorPago as parcial,t.quitado as quitado,
					t.desconto as desconto,t.acrescimo as acrescimo,
					t.dataUltimoPagamento as dataUltimoPagamento,t.entrada 
					from tbtitulos t
					INNER JOIN tbmovimentacao m ON(m.id = t.idMovimento)
					LEFT JOIN tbveiculo v ON(v.id = t.idVeiculo)
					INNER JOIN tbnatureza n ON(m.natureza = n.id)
		            where m.tipo='RECEBIMENTO' and m.deletado='N' " . $condicaoData . " " . $condicaoStatus . " " . $condicaoCliente . " " . $limit;

        $res = mysql_query($query, $conexao);

        $i = 0;
        while ($row = mysql_fetch_object($res)) {
            
            if($row->entrada=="S"){
                $contas[$i]['parcela'] = "<strong>ENTRADA</strong>";
            }else{
                $contas[$i]['parcela'] = $row->parcela;
            }                
            
            $contas[$i]['id'] = $row->idT;
            $contas[$i]['vencimento'] = $row->dataV;
            $contas[$i]['parcial'] = $row->parcial;
            $contas[$i]['desconto'] = $row->desconto;
            $contas[$i]['acrescimo'] = $row->acrescimo;
            $contas[$i]['valor'] = $row->valor;            
            $contas[$i]['placa'] = $row->placa;
            $contas[$i]['natureza'] = $row->natureza;
            $contas[$i]['quitado'] = $row->quitado;
            $contas[$i]['dataUltimoPagamento'] = $row->dataUltimoPagamento;
            $i++;
        }

        Conexao::desconectar();
        return $contas;
    }

    public function retornarTotalPessoa($tipo) {
        $clientes = array();

        $conexao = Conexao::conectar();
        $query = "select count(*) as total from tbpessoas where deletado='N' and tipo='" . $tipo . "'";
        $res = mysql_query($query, $conexao);
        $row = mysql_fetch_object($res);

        return $row->total;
    }

    public function retornarPessoa($tipo) {
        $pessoas = array();

        $conexao = Conexao::conectar();
        $query = "select p.id as idP,p.nome as nomeP,p.email as emailP,p.cpfcnpj as cpfcnpjP,
		            p.ddd as dddP,p.telefone as telefoneP,e.descricao as estado,c.descricao as cidade
		            from tbpessoas as p
					inner join tbestado e on (e.id = p.estado)
					inner join tbcidades c on (c.id = p.cidade)
					where p.deletado='N' and p.tipo='" . $tipo . "' order by nomeP";

        $res = mysql_query($query, $conexao);

        $i = 0;
        while ($row = mysql_fetch_object($res)) {
            $pessoas[$i]['id'] = $row->idP;
            $pessoas[$i]['nome'] = $row->nomeP;
            $pessoas[$i]['email'] = $row->emailP;
            $pessoas[$i]['cpfcnpj'] = $row->cpfcnpjP;
            $pessoas[$i]['ddd'] = $row->dddP;
            $pessoas[$i]['telefone'] = $row->telefoneP;
            $pessoas[$i]['estado'] = $row->estado;
            $pessoas[$i]['cidade'] = $row->cidade;
            $i++;
        }

        Conexao::desconectar();
        return $pessoas;
    }

    public function totalCarrosEstoque() {
        $conexao = Conexao::conectar();

        $query = "select count(*) as total from tbveiculo where estoqueLoja='S' and oficina='N' and deletado='N'";
        $res = mysql_query($query, $conexao);
        $row = mysql_fetch_object($res);

        return $row->total;
        Conexao::desconectar();
    }

    public function totalCarrosOficina() {
        $conexao = Conexao::conectar();

        $query = "select count(*) as total from tbveiculo where estoqueLoja='N' and oficina='S' and deletado='N'";
        $res = mysql_query($query, $conexao);
        $row = mysql_fetch_object($res);

        return $row->total;
        Conexao::desconectar();
    }

    public function totalCarrosPrecoCusto() {
        $conexao = Conexao::conectar();

        $query = "select SUM(valorCompra) as soma from tbveiculo where (estoqueLoja='S' or oficina='S') and deletado='N'";
        $res = mysql_query($query, $conexao);
        $row = mysql_fetch_object($res);

        Conexao::desconectar();
        return $row->soma;
    }

    public function totalCarrosPrecoVenda() {
        $conexao = Conexao::conectar();

        $query = "select SUM(valorVenda) as soma from tbveiculo where (estoqueLoja='S' or oficina='S') and deletado='N'";
        $res = mysql_query($query, $conexao);
        $row = mysql_fetch_object($res);

        Conexao::desconectar();
        return $row->soma;
    }

    public function totalRecebidoAno() {
        $conexao = Conexao::conectar();

        $query = "select SUM(t.valorPago) as soma
		            from tbtitulos t
					inner join tbmovimentacao m on (m.id = t.idMovimento)
		            where YEAR(t.dataUltimoPagamento) = '" . date('Y') . "' and t.quitado='S' and m.tipo='RECEBIMENTO'";

        $res = mysql_query($query, $conexao);
        $row = mysql_fetch_object($res);
        $soma = $row->soma;

        Conexao::desconectar();
        return $soma;
    }

    public function totalReceberAno() {
        $conexao = Conexao::conectar();

        $query = "select SUM(t.valor) as soma 
		            from tbtitulos t
					inner join tbmovimentacao m on (m.id = t.idMovimento)
		            where YEAR(t.dataVencimento) = '" . date('Y') . "' and m.tipo='RECEBIMENTO'";

        $res = mysql_query($query, $conexao);
        $row = mysql_fetch_object($res);
        $soma = $row->soma;

        Conexao::desconectar();
        return $soma;
    }

    public function totalReceberInadiplencia() {
        $inadiplencia = 0.00;
        $valorTitulo = 0.00;
        $valorPagoTitulo = 0.00;
        $calculo = 0.00;

        $conexao = Conexao::conectar();
        $query = "select t.valor as valorTitulo, t.valorPago as valorPagoTitulo
		            from tbtitulos t
					inner join tbmovimentacao m on (m.id = t.idMovimento)
					where (t.dataVencimento) < '" . date("Y-m-d") . "' and m.tipo='RECEBIMENTO'";

        $res = mysql_query($query, $conexao);

        while ($row = mysql_fetch_object($res)) {
            $valorTitulo = $row->valorTitulo;
            $valorPagoTitulo = $row->valorPagoTitulo;

            $calculo = $valorTitulo - $valorPagoTitulo;
            $inadiplencia = $inadiplencia + $calculo;
        }

        Conexao::desconectar();
        return $inadiplencia;
    }

    public function retornaDadosCliente($idCliente) {
        $conexao = Conexao::conectar();

        $query = "select * from tbpessoas where tipo='CLIENTE' and id=" . $idCliente;
        $res = mysql_query($query, $conexao);
        $row = mysql_fetch_object($res);

        Conexao::desconectar();
        return $row;
    }

    public function retornarVeiculosEstoque() {
        $veiculos = array();

        $conexao = Conexao::conectar();
        $query = "SELECT v.placa, m.nome AS marca, v.chassi, c.nome AS cor, v.anoFabricacao, v.anoModelo, date_format( v.dataCadastro, '%d/%m/%Y' ) AS data, v.valorCompra
                    FROM tbveiculo v
                    INNER JOIN tbmarca m on (m.id = v.marca)
                    INNER JOIN tbcor c on (c.id = v.cor)
					where v.estoqueLoja='S' and v.oficina='N' and v.deletado='N'";

        $res = mysql_query($query, $conexao);

        $i = 0;
        while ($row = mysql_fetch_object($res)) {
            $veiculos[$i]['placa'] = $row->placa;
            $veiculos[$i]['marca'] = $row->marca;
            $veiculos[$i]['chassi'] = $row->chassi;
            $veiculos[$i]['cor'] = $row->cor;
            $veiculos[$i]['anoFabricacao'] = $row->anoFabricacao;
            $veiculos[$i]['anoModelo'] = $row->anoModelo;
            $veiculos[$i]['data'] = $row->data;
            $veiculos[$i]['valorCompra'] = $row->valorCompra;
            $i++;
        }

        Conexao::desconectar();
        return $veiculos;
    }
    
    public function retornarHistoricoOficina($placa){
        
        $historico = array();

        $conexao = Conexao::conectar();
        $query = "SELECT vo.id,vo.dataEntrada, vo.dataSaida,v.placa,o.empresa
                  FROM tbveiculooficina vo
                  INNER JOIN tbveiculo v ON(v.id = vo.idVeiculo)
                  INNER JOIN tboficina o ON(o.id = vo.idOficina)
                  WHERE v.placa='".$placa."'";

        $res = mysql_query($query, $conexao);

        $i = 0;
        while ($row = mysql_fetch_object($res)) {
            $historico[$i]['id'] = $row->id;
            $historico[$i]['dataSaida'] = $row->dataSaida;
            $historico[$i]['dataEntrada'] = $row->dataEntrada;
            $historico[$i]['placa'] = $row->placa;
            $historico[$i]['empresa'] = $row->empresa;           
            $i++;
        }

        Conexao::desconectar();
        return $historico;
    }
    
    public function retornarDetalheHistorico($historicoOfina){
        
        $historico = array();
        $conexao = Conexao::conectar();
        for($i=0; $i<count($historicoOfina); $i++){
            
            $query = "select descricao,valor,data
                      from tbdespesaoficina where idVeiculoOficina=".$historicoOfina[$i]['id'];
            $res   = mysql_query($query,$conexao);
            $num   = mysql_num_rows($res);
            
            if($num>0){
                $j=0;
                while ($row = mysql_fetch_object($res)) {
                    $historico[$i][$j]['data'] = $row->data;
                    $historico[$i][$j]['descricao'] = $row->descricao;
                    $historico[$i][$j]['valor'] = $row->valor;
                    $j++;
                }
            }
        }
        Conexao::desconectar();
        return $historico;        
    }
}

?>